Outlines make it possible to hide parts of the text in the buffer. Org uses just two commands, bound to <TAB> and S-<TAB> to change the visibility in the buffer.
org-cycle)
,-> FOLDED -> CHILDREN -> SUBTREE --.
'-----------------------------------'
The cursor must be on a headline for this to work1. When the cursor is at the beginning of the buffer and the first line is not a headline, then <TAB> actually runs global cycling (see below)2. Also when called with a prefix argument (C-u <TAB>), global cycling is invoked.
org-global-cycle)
,-> OVERVIEW -> CONTENTS -> SHOW ALL --.
'--------------------------------------'
When S-<TAB> is called with a numeric prefix argument N, the CONTENTS view up to headlines of level N will be shown. Note that inside tables, S-<TAB> jumps to the previous field.
show-all)org-reveal)show-branches)org-tree-to-indirect-buffer)
When Emacs first visits an Org file, the global state is set to
OVERVIEW, i.e. only the top level headlines are visible. This can
be configured through the variable
org-startup-folded, or on a per-file basis by adding
one of the following lines anywhere in the buffer:
#+STARTUP: overview
#+STARTUP: content
#+STARTUP: showall
#+STARTUP: showeverything
Furthermore, any entries
with a ‘VISIBILITY’ property (see Properties
and Columns) will get their visibility adapted accordingly.
Allowed values for this property are folded,
children, content, and
all.
org-set-startup-visibility)[1] see, however, the option
org-cycle-emulate-tab.
[2] see the option
org-cycle-global-at-bob.
[3] The indirect buffer (see the Emacs manual for more information about indirect buffers) will contain the entire buffer, but will be narrowed to the current tree. Editing the indirect buffer will also change the original buffer, but without affecting visibility in that buffer.